<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="../../resource/css/reset.css"/>
        <link type="text/css" rel="stylesheet" href="../../resource/css/api_index.css"/>
        <script type="text/javascript" src="../../resource/js/fw/jquery-1.8.3.min.js"></script>
    </head>
    <body>
        <div class="pk-wrap">

            <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title">概述</span>
                        <span class="pk-float-right pk-tip">Basic > 概述2</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>      JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言，常用来给HTML网页添加动态功能，比如响应用户的各种操作。它最初由网景公司（Netscape）的Brendan Eich设计，是一种动态、弱类型、基于原型的语言，内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合，如服务器端编程。完完整的JavaScript实现包含三个部分：ECMAScript，文档对象模型，浏览器对象模型。　
      Netscape公司在最初将其脚本语言命名为LiveScript。在Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的，目的之一就是“看上去像Java”，因此语法上有类似之处，一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme[3].JavaScript与Java名称上的近似，是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势，微软推出了JScript来迎战JavaScript的脚本语言。为了互用性，Ecma国际（前身为欧洲计算机制造商协会）创建了ECMA-262标准（ECMAScript）。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言，而非作为给程序人员的编程语言来推广和宣传，但是JavaScript具有非常丰富的特性。
      到此文档生成为止，当前javascript的最新版本为1.9版。

      JavaScript简介
      JavaScript廷生于1995年。当时，它的主要目的是处理以前由服务器端语言（如Perl）负责的一些输入验证操怍。在JavaScript问世之前，必须把表单数据发送到限务器端才能确定用户是否没有填写某个必填域，是否输入了无效的值。Netscape Navigator希望通过JavaScript来解决这个问题：在人们普遍使用电话拔号上网的年代，能够在客户端完成一些基本的验证任务绝对是令人兴奋的。毕竟，拨号上网的速度之慢，导致了与服务器的每一次数据交换事实上都成了对人们耐心的一次考验。
      自此以后，JavaScript逐渐成为市面上常见浏览器必备的一项特色功能。如今，JavaScript的用途早已不再局限于简单的数据验证，而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力。今天的JavaScript已经成为一门功能全面的编程语言，能够处理复杂的计算和交互，拥有了闭包、匿名(lamda，拉姆达)函数，甚至元编程等特性。作为Web的一个重要组成部分，JavaScript的重要性是不言而喻的，就连手机浏览器，甚至那些专为残障人士设计的浏览器等非常规浏览器都支持它。当然，微软的例子更为典型。里然有自己的客户端脚本语言VBScript，但微软仍然在Internet Explorer的早期版本中加入了自己的JavaScript实现。
      JavaScript从一个简单的输入验证器发展成为一门强大的编程语言，完全出乎人们的意料。应该说，它既是一门非常简单的语言，又是一门非常复杂的语言。说它简单，是因为学会使用它只需片刻功夫；而说它复杂，是因为要真正掌握它则需要数年时间。要想全面理解和掌握JavaScript，关键在于弄清楚它的本质、历史和局限性。

      JavaScript简史
      1992年前后，一家名为Nombas的公司（后来被Openwave收购）开发了一种嵌入式脚本语言，并将其命名为C-minus-minus（简称Cmm）。Cmm背后的设计思想很简单：要足够强大，可以取代宏；同时还要与C（以及C++）非常相似，以便开发人员能够迅速掌握它。这个脚本语言被打包到共享软件CEnvi中，许多开发人员就是通过该软件首次体验到了它的强大功能。最终，Nombas公司把Cmm改名为ScriptEase，而ScriptEase则成为了这家公司产品开发的主要驱动力。在Netscape Navigator受到人们狂热追捧之际，Nombas公司开发了能够嵌入到网页中的CEnvi版本。而这种嵌入CEnvi的早期试验性网贞被叫做Espresso Pages（浓咖啡版网页），它们是在万维网上首次使用脚本语言的标志。相信当初的Nombas公司不太可能意识到，他们这种在网页中嵌入脚本的想法会在很大程度上左右未来因特网的发展。
      在Web日益流行的同时，人们对客户端脚本语苦的需求也越来越性烈。那个时候绝大多数因特网用户都使用速度仅为28.8Kb/s的“猫”（调制解调器）上网，但网页的大小和复杂性却不断增加。为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担。想象以下：用户填写完一个表单，单击“提交”按钮，然后等待30秒钟，最终服务器返回消息说有一个必填字段没有填好……当时走在技术革新最前沿的Netscape公司，决定着手开发一种客户端语言，用来处理这种简单的验证。
      当时就职于Netscape公司的布兰登，艾奇(Brendan Eich)，开始着手为计划于l995年2月发布的Netsc印e Navigator 2开发一种名为LiveScript的脚本语言——该语言将同时在浏览器矛口服务器中使用（它在服务器上的名字叫LiveWire）。为了赶在发布日期前完成LiveScript的开发，Netscape与Sun公司建立了一个开发联盟。在Netscape Navigator 2正式发布前夕，Netscape均了搭上媒体热炒Java的顺风车，临时把LiveScript改名为JavaScript。
      由于JavaScript 1.0获得了巨大成功，Netscape随即在Netscape Navigator 3中又发布了JavaScript 1.1。Web虽然羽翼未丰，但用户关注度却屡创新高。在这样的背景下，Netscape把自己定位为市场领袖型公司。与此同时，微软决定向与Navigator竞争的自家产品Internet Explorer浏览器投入更多资源。Netscape Navigator 3发布后不久，微软就在其Intemet Explorer 3中加入了名为JScript的JavaScript实现（命名为JScrit是为了避开与Netscape有关的授权问题）。以现在的眼光来看，微软1996年8月为进入Web浏览器领域而实施的这个重大举措，是导致Netscape日后蒙羞的一个标志性事件。然而，这个重大举措同时也标志着JavaScript作为一门语言，其开发向前迈进了一大步。
      第二年，ISO/IEC（International Organization for Standardization and International Electrotechnical Commission，国标标准化组织和国际电工委员会）也采用了ECMAScript作为标准（即ISO/IEC-16262）。自此以后，浏览器开发商就开始致力于将ECMAScript作为各自JavaScript实现的基础，也在不同程度上取得了成功。</pre>
                    </div>
                </div>
            </div>

            
            
            
            
                    </div>
    </body>
</html>
